#ifndef     __OBJECT_H
#define     __OBJECT_H

namespace utils {

template <typename M>
struct Object {

    static M & init() {
        static M INSTANCE;
        return INSTANCE;
    }

    inline M* operator->() {
        return &init();
    }
};

}



#endif
